import type { TableColumnCtx } from 'element-plus/es/components/table/src/table-column/defaults'
export interface MergeClo {
  mergeFirstColIndex:number,
  colLen:number
}
export interface Merge{
  row?:any[]
  col?:MergeClo
}

export interface Merge1{
  merge?:Merge
}
export interface MergeParams{
  col?:string[]
  row?:string[]
}
export interface InitData{
  [propName: string]:any
}
export interface FilterVal{
  text:string
  value:string
}
export interface Search{
  align: string
  placeholder?: string
  size?: string
}
export interface StaticColumn{
  type:string
  width:number
}
export interface Header{
  label: string
  prop?: string
  width?: number
  fixed?: boolean|string
  sort?: Boolean
  search?: Search
  slotName?: string
  filters?: FilterVal[]
}
export interface Config{
  staticColumn?:StaticColumn[]
  singleChoiceHigHlight?: Boolean
  border?: Boolean
  searchProp?: string
  height?: Number
  maxHeight?: Number
  stripe?: Boolean
  showSummary?: Boolean
  ranksMerge?: Boolean
}
export interface Pagination{
  total: number
  layout?: string
  pageSize?: number[]
  currentPageSize?: number
  disabled?: boolean
  currentPage?: number
  small?: boolean
  background?: boolean
}

export interface SpanMethodProps {
  row: InitData
  column: TableColumnCtx<InitData>
  rowIndex: number
  columnIndex: number
}
